package MyBinaryTree;

public class Test {
    public static void main(String[] args) {
        MyBinaryTree myBinaryTree = new MyBinaryTree();

        TreeNode rootNode = myBinaryTree.createTree();

//        myBinaryTree.preOrder(rootNode);
//        System.out.println();
//        myBinaryTree.inOrder(rootNode);
//        System.out.println();
//        myBinaryTree.postOrder(rootNode);
//        System.out.println();
//
//        System.out.println(myBinaryTree.size(rootNode));
//
//        System.out.println(myBinaryTree.getLeafNodeCount(rootNode));
//
//        System.out.println(myBinaryTree.getKLevelNodeCount(rootNode, 2));

        //System.out.println(myBinaryTree.getHeight(rootNode));

//        System.out.println(myBinaryTree.size2(rootNode));

//        System.out.println(myBinaryTree.getLeafNodeCount(rootNode));

//        myBinaryTree.getLeafNodeCount2(rootNode);
//        System.out.println(myBinaryTree.leafSize);

//        System.out.println(myBinaryTree.getKLevelNodeCount2(rootNode, 3));

//        System.out.println(myBinaryTree.getHeight(rootNode));

//        System.out.println(myBinaryTree.getHeight2(rootNode));

//        TreeNode findNode = myBinaryTree.find(rootNode, 3);
//        System.out.println(findNode.val);

//        myBinaryTree.levelOrder(rootNode);

//        System.out.println(myBinaryTree.isCompleteTree(rootNode));

        System.out.println(myBinaryTree.levelOrder2(rootNode));
    }
}
